home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / mcu11 / hc11help.arc / MUL16B01.ASM < prev    next >
Assembly Source File  |  1987-01-27  |  2KB  |  61 lines

  1. *-----------------------------------------------------------------------*
  2. *   Multiply 16 by 16 bit unsigned integer routine for the 6801/6811.
  3. *
  4. *       1/23/87
  5. *       D. G. Weiss
  6. *       MCU Technical Marketing
  7. *       Motorola Microprocessor Group
  8. *       Oak Hill, TX
  9. *
  10. *    Accepts:
  11. *       Multiplier:    Mpr[1..0]
  12. *       Multiplicand:  Mpd[1..0]
  13. *    Yields:
  14. *       Product:       Prod[3..0]
  15. *-----------------------------------------------------------------------*
  16.  
  17.         ORG  $00       Beginning of RAM
  18.  
  19. mpr     rmb  2          Multiplier
  20. mpr1    equ  mpr           "          byte 1 (high order)
  21. mpr0    equ  mpr+1         "          byte 0 (low order)
  22.  
  23. mpd     rmb  2          Multiplicand
  24. mpd1    equ  mpd           "          byte 1 (high order)
  25. mpd0    equ  mpd+1         "          byte 0 (low order)
  26.  
  27. prod    rmb  4          Product
  28. prod3   equ  prod          "          byte 3 (high order)
  29. prod2   equ  prod+1
  30. prod1   equ  prod+2
  31. prod0   equ  prod+3        "          byte 0 (low order)
  32.  
  33. CTR     RMB  1          Iteration counter
  34.  
  35.         ORG  $10
  36.  
  37. mpy16   EQU  *
  38.         ldd     #0
  39.         std     prod3
  40.         lda     mpr0
  41.         ldb     mpd0
  42.         mul
  43.         std     prod1
  44.         lda     mpr0
  45.         ldb     mpd1
  46.         mul
  47.         addd    prod2
  48.         std     prod2
  49.         lda     mpr1
  50.         ldb     mpd0
  51.         mul
  52.         addd    prod2
  53.         std     prod2
  54.         rol     prod3
  55.         lda     mpr1
  56.         ldb     mpd1
  57.         mul
  58.         addd    prod3
  59.         std     prod3
  60.         rts
  61.